// 这个函数在每一次发ajax请求之前都会自动触发
$.ajaxPrefilter(options => {
  // 白名单页面
  const arr = ['/api/login', '/api/reguser']
  const res = arr.includes(options.url) //返回值是true或者false
  options.url = 'http://big-event-api-t.itheima.net' + options.url
  // options.url = 'http://www.liulongbin.top:3007' + options.url
  // 如果是true, 说明是登录或者注册页面, 就阻止判断token的逻辑
  if (res) return
  // 如果有token, 那我们就配置请求头
  // ①获取token
  const token = localStorage.getItem('token')
  const tokenTime = localStorage.getItem('tokenTime')
  const time = 1000 * 60 * 120
  // 在login页面发的请求, 我们就不要拦截
  if (token) {
    // ②配置请求头
    // 我们需要在这统一处理token过期问题   有token,才能判断是否过期
    if (+new Date() - tokenTime > time) {
      // 过期,跳登录页
      location.href = '/login.html'
      //清除token
      localStorage.removeItem('token')
    }
    options.headers = {
      Authorization: token
    }
  } else {
    location.href = '/login.html'
  }
})

$.ajaxSetup({
  //完成请求后触发。即在success或error触发后触发
  complete: function (xhr, status) {

    // 难道后台返回的数据
    const data = JSON.parse(xhr.responseText)
    // 如果data.status === 1 说明身份认证失败 
    if (data.message === '身份认证失败！') {
      // 跳转到登陆页
      location.href = '/login.html'
      // 假token给他删除
      localStorage.removeItem('token')
    }
  }
})